package br.com.esporte.negocios.entidade.imp;

import java.util.Date;
import java.util.List;

import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import br.com.esporte.negocios.entidade.util.VersusEnum;

/**
 * 
 * @author Milton Domingues
 *
 */
@Entity
@Table(name = "partida")
public class Partida extends Entidade{

	private static final long serialVersionUID = -2205858815430152046L;

	@ManyToOne
	@JoinColumn(name = "dia_praticado_id")
	private DiaPraticadoGrupo diaPraticado;

	@Temporal(TemporalType.TIMESTAMP)
	private Date horaInicio;

	@Temporal(TemporalType.TIMESTAMP)
	private Date horaFim;

	@Enumerated(EnumType.ORDINAL)
	private VersusEnum versus;

	@OneToMany(mappedBy = "partida", fetch = FetchType.LAZY)
	private List<Time> times;

	public Partida() {

	}

	public DiaPraticadoGrupo getDiaPraticado() {
		return this.diaPraticado;
	}

	public Date getHoraFim() {
		return this.horaFim;
	}

	public Date getHoraInicio() {
		return this.horaInicio;
	}

	public List<Time> getTimes() {
		return this.times;
	}

	public VersusEnum getVersus() {
		return this.versus;
	}

	public void setDiaPraticado(DiaPraticadoGrupo diaPraticado) {
		this.diaPraticado = diaPraticado;
	}

	public void setHoraFim(Date horaFim) {
		this.horaFim = horaFim;
	}

	public void setHoraInicio(Date horaInicio) {
		this.horaInicio = horaInicio;
	}

	public void setTimes(List<Time> times) {
		this.times = times;
	}

	public void setVersus(VersusEnum versus) {
		this.versus = versus;
	}
}
